#include "widget.h"

#include <QTreeView>
#include <QStandardItemModel>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    resize(600, 480);

    //3、创建模型对象
    QStandardItemModel *model = new QStandardItemModel(this);

    //6、添加水平表头
    model->setHorizontalHeaderLabels(QStringList() << "编号" << "初中部|高中部");

    //5、存储数据的数据类型
    //5.1、添加的是第一层数据
    QList<QStandardItem *> rootItem;
    QStandardItem *one = new QStandardItem("1");
    QStandardItem *midSchool = new QStandardItem("初中部");
    rootItem.push_back(one);
    rootItem.push_back(midSchool);

    //4、使用model调用appendRow添加数据
    model->appendRow(rootItem);


    //5.2、再去添加孩子节点的数据(添加的是第二层数据)
    QList<QStandardItem *> childItem;
    QStandardItem *oneone = new QStandardItem("11");
    QStandardItem *yinianji = new QStandardItem("一年级");

    childItem.push_back(oneone);
    childItem.push_back(yinianji);

    one->appendRow(childItem);

    //5.3、添加第三层数据
    QList<QStandardItem *> sonItem;
    QStandardItem *one111 = new QStandardItem("111");
    QStandardItem *yiban = new QStandardItem("一班");

    sonItem.push_back(one111);
    sonItem.push_back(yiban);

    oneone->appendRow(sonItem);

    QList<QStandardItem *> sonItem2;
    QStandardItem *one122 = new QStandardItem("122");
    QStandardItem *erban = new QStandardItem("二班");

    sonItem2.push_back(one122);
    sonItem2.push_back(erban);

    oneone->appendRow(sonItem2);

    //添加第一层的兄弟节点
    //5.1、添加的是第一层数据
    QList<QStandardItem *> rootItem2;
    QStandardItem *two = new QStandardItem("2");
    QStandardItem *higSchool = new QStandardItem("高中部");
    rootItem2.push_back(two);
    rootItem2.push_back(higSchool);

    model->appendRow(rootItem2);

    //第一层的兄弟节点添加完毕-------------

    //1、常见视图对象
    QTreeView *treeView = new QTreeView(this);
    treeView->resize(400, 300);
    treeView->move(100, 100);

    //2、调用setmodel函数
    treeView->setModel(model);
}

Widget::~Widget()
{
}

